home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER005
- Integer INTEGER006
- Integer INTEGER007
- String STRING001
- String STRING002
- String STRING003
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
- String STRING009
- String STRING010
- String STRING011
-
- ;------------------------------------------------------------------------------
-
- STRING005 = Chr(8) + " " + Chr(8)
- If (TokCount() <> 1) Then
- Color 140
- Newlines 2
- PrintLn "Read the docs."
- End
- Else
- INTEGER001 = GetToken()
- Endif
- If ((INTEGER001 == 259) || (ScrText(80, 1, 1, 0) == " ")) Then
- INTEGER002 = 4
- INTEGER004 = 80
- Else
- Select Case (ScrText(1, 1, 20, 0))
- Case Left(StripAtx(ReadLine(PPEPath() + "prompts.cnf", 65)), 20)
- INTEGER002 = 1
- Case Left(StripAtx(ReadLine(PPEPath() + "prompts.cnf", 61)), 20)
- INTEGER002 = 2
- Case Left(StripAtx(ReadLine(PPEPath() + "prompts.cnf", 67)), 20)
- INTEGER002 = 3
- End Select
- INTEGER004 = 2
- Endif
- STRING007 = ReadLine(PPEPath() + "prompts.cnf", INTEGER004)
- INTEGER006 = ReadLine(PPEPath() + "prompts.cnf", INTEGER004 + 1)
- INTEGER007 = ReadLine(PPEPath() + "prompts.cnf", INTEGER004 + 2)
- Tokenize STRING007
- STRING007 = GetToken()
- STRING008 = GetToken()
- If (!AnsiOn()) INTEGER002 = 0
- StartDisp 1
- Select Case (INTEGER001)
- Case 152
- INTEGER001 = 7
- Gosub LABEL009
- Select Case (INTEGER002)
- Case 0
- DispStr STRING003
- Case 1
- AnsiPos 1, 2
- DispFile PPEPath() + "sysop.pcb", 0
- AnsiPos STRING007, STRING008
- Print STRING002
- Print Space(INTEGER007 - GetX())
- AnsiPos STRING009, STRING010
- Print Space(16)
- Backup 16
- Case 2
- AnsiPos 2, 1
- DispFile PPEPath() + "apply.pcb", 0
- Gosub LABEL016
- Case 3
- For INTEGER001 = GetY() To 1 Step -1
- If (ScrText(1, INTEGER001, 3, 0) == "D: ") Then
- STRING011 = RTrim(Mixed(ScrText(4, INTEGER001 - 1, 25, 0)), " ")
- INTEGER001 = 0
- Endif
- Next
- Cls
- PrintLn ReadLine(PPEPath() + "prompts.cnf", 65)
- Print ReadLine(PPEPath() + "prompts.cnf", 79) + STRING011
- AnsiPos 2, 1
- DispFile PPEPath() + "sysop.pcb", 0
- AnsiPos STRING007, STRING008
- Print STRING002
- Print Space(INTEGER007 - GetX())
- AnsiPos STRING009, STRING010
- End Select
- Case 111
- INTEGER001 = 10
- Gosub LABEL009
- Gosub LABEL016
- Case 265
- INTEGER001 = 13
- Gosub LABEL009
- INTEGER001 = 24
- Gosub LABEL012
- Case 113
- INTEGER001 = 16
- Gosub LABEL009
- INTEGER001 = -1
- Gosub LABEL013
- Case 114
- INTEGER001 = 19
- Gosub LABEL009
- INTEGER001 = -1
- Gosub LABEL013
- Case 2
- INTEGER001 = 22
- Gosub LABEL009
- INTEGER001 = -2
- Gosub LABEL013
- Case 556
- INTEGER001 = 77
- Gosub LABEL011
- If (INTEGER002 == 2) Then
- KbdStuff "y"
- Else
- Print STRING002
- Endif
- Case 698
- INTEGER001 = 76
- Gosub LABEL011
- If (INTEGER002 == 0) Then
- Print STRING002
- Endif
- Case 699
- INTEGER001 = 25
- Gosub LABEL009
- INTEGER001 = 50
- Gosub LABEL012
- Case 700
- INTEGER001 = 28
- Gosub LABEL009
- INTEGER001 = 50
- Gosub LABEL012
- Case 701
- INTEGER001 = 31
- Gosub LABEL009
- INTEGER001 = 25
- Gosub LABEL012
- Case 702
- INTEGER001 = 34
- Gosub LABEL009
- INTEGER001 = 10
- Gosub LABEL012
- Case 703
- INTEGER001 = 37
- Gosub LABEL009
- INTEGER001 = 10
- Gosub LABEL012
- Case 704
- INTEGER001 = 40
- Gosub LABEL009
- INTEGER001 = 15
- Gosub LABEL012
- Case 706
- INTEGER001 = 43
- Gosub LABEL009
- INTEGER001 = 25
- Gosub LABEL012
- Case 269
- INTEGER001 = 46
- Gosub LABEL009
- Gosub LABEL012
- Case 112
- INTEGER001 = 49
- Gosub LABEL009
- Gosub LABEL012
- Case 267
- INTEGER001 = 52
- Gosub LABEL009
- Gosub LABEL012
- Case 266
- INTEGER001 = 55
- Gosub LABEL009
- Gosub LABEL012
- Case 325
- INTEGER001 = 58
- Gosub LABEL009
- Gosub LABEL012
- If (INTEGER002 <> 0) Then
- STRING004 = NoChar()
- InputStr "", STRING004, 9, 1, YesChar() + NoChar(), 2 + 8
- If (STRING004 == "") STRING004 = Chr(13)
- KbdStuff STRING004
- Newlines 4
- Endif
- Case 208
- Cls
- INTEGER001 = 61
- Gosub LABEL011
- Print STRING002
- Case 53
- INTEGER001 = 62
- Gosub LABEL011
- Print STRING002
- Case 264
- INTEGER001 = 63
- Gosub LABEL011
- Gosub LABEL014
- Case 123
- INTEGER001 = 64
- Gosub LABEL011
- Gosub LABEL014
- If (INTEGER002 <> 0) Then
- AnsiPos 1, 23
- Wait
- Endif
- Log StripAtx(STRING002), 0
- Case 58
- Cls
- INTEGER001 = 65
- Gosub LABEL011
- Print STRING002
- Case 204
- INTEGER001 = 66
- Gosub LABEL011
- Gosub LABEL014
- If (INTEGER002 <> 0) Then
- AnsiPos 1, 23
- Wait
- Endif
- Log StripAtx(STRING002), 0
- Case 167, 168
- INTEGER001 = 67
- Gosub LABEL011
- Print STRING002
- Case 110
- INTEGER001 = 68
- Gosub LABEL011
- Gosub LABEL014
- Case 117
- INTEGER001 = 69
- Gosub LABEL011
- Gosub LABEL014
- Case 8
- If (INTEGER002 == 4) Then
- INTEGER001 = 108
- Gosub LABEL010
- Gosub LABEL015
- Log StripAtx(STRING002), 0
- Else
- INTEGER001 = 70
- Gosub LABEL011
- Gosub LABEL014
- Log StripAtx(STRING002), 0
- Endif
- Case 708
- INTEGER001 = 71
- Gosub LABEL011
- Gosub LABEL014
- Case 709
- INTEGER001 = 72
- Gosub LABEL011
- Gosub LABEL014
- Case 705
- INTEGER001 = 73
- Gosub LABEL011
- Gosub LABEL014
- Case 54
- KbdStuff Chr(13)
- Case 259
- INTEGER001 = 83
- Gosub LABEL009
- If (INTEGER002 == 0) Then
- DispStr STRING003
- Else
- If (ScrText(80, 1, 1, 0) <> " ") Then
- DispFile PPEPath() + "logon.pcb", 0
- AnsiPos 80, 1
- Print " "
- Endif
- AnsiPos STRING007, STRING008
- Print STRING002
- Print Space(INTEGER007 - GetX())
- AnsiPos STRING009, STRING010
- Print Space(25)
- AnsiPos STRING009, STRING010
- Endif
- Case 260
- INTEGER001 = 86
- Gosub LABEL009
- If (INTEGER002 == 0) Then
- DispStr STRING003
- Endif
- KbdStuff Chr(13)
- Case 148
- INTEGER001 = 86
- Gosub LABEL009
- If (INTEGER002 == 4) Then
- AnsiPos STRING009, STRING010
- GetUser
- Print Left(STRING002, 4) + Mixed(U_City)
- Endif
- INTEGER001 = 89
- Gosub LABEL009
- If (INTEGER002 == 4) INTEGER002 = 2
- Gosub LABEL016
- Case 92
- INTEGER001 = 92
- Gosub LABEL010
- Gosub LABEL015
- Case 595
- INTEGER001 = 94
- Gosub LABEL010
- Gosub LABEL015
- Case 596
- INTEGER001 = 96
- Gosub LABEL010
- Gosub LABEL015
- Case 3
- INTEGER001 = 98
- Gosub LABEL010
- Gosub LABEL015
- Log StripAtx(STRING002), 0
- Case 5
- INTEGER001 = 100
- Gosub LABEL010
- Gosub LABEL015
- Log StripAtx(STRING002), 0
- Case 6
- INTEGER001 = 102
- Gosub LABEL010
- Gosub LABEL015
- Log StripAtx(STRING002), 0
- Case 7
- INTEGER001 = 104
- Gosub LABEL010
- Gosub LABEL015
- Log StripAtx(STRING002), 0
- Case 10
- INTEGER001 = 106
- Gosub LABEL010
- Gosub LABEL015
- Log StripAtx(STRING002), 0
- Case 9
- INTEGER001 = 110
- Gosub LABEL010
- Gosub LABEL015
- Log StripAtx(STRING002), 0
- Case 76
- INTEGER001 = 112
- Gosub LABEL010
- Gosub LABEL015
- Case 4
- INTEGER001 = 114
- Gosub LABEL010
- Gosub LABEL015
- Newlines 6
- Log StripAtx(STRING002), 0
- Case 710
- INTEGER001 = 116
- Gosub LABEL010
- If (INTEGER002 == 0) Then
- DispStr STRING003
- Else
- Cls
- Print STRING002
- Endif
- Case 711
- INTEGER001 = 118
- Gosub LABEL010
- Gosub LABEL015
- Case 657
- INTEGER001 = 120
- Gosub LABEL010
- Gosub LABEL015
- End Select
- StartDisp 2
- End
- :LABEL001
- STRING001 = Left(ReadLine(PPEPath() + "prompts.cnf", 5), 3)
- Color 7
- :LABEL002
- If (BOOLEAN002) Goto LABEL004
- STRING006 = Inkey()
- If ((STRING006 == "+") && (INTEGER003 == 0)) Then
- BOOLEAN001 = 1
- Print STRING006
- STRING004 = STRING004 + STRING006
- Inc INTEGER003
- ElseIf ((STRING006 == Chr(8)) && (INTEGER003 > 0)) Then
- If (BOOLEAN001) Then
- Print STRING005
- Dec INTEGER003
- STRING004 = Left(STRING004, INTEGER003)
- If (INTEGER003 == 0) BOOLEAN001 = 0
- Else
- If (((INTEGER003 == 2) || (INTEGER003 == 5)) || (INTEGER003 == 9)) Then
- Print STRING005 + STRING005
- INTEGER003 = INTEGER003 - 2
- Else
- Print STRING005
- Dec INTEGER003
- Endif
- STRING004 = Left(STRING004, INTEGER003)
- Endif
- Else
- If (BOOLEAN001) Then
- If (STRING006 == Chr(13)) Then
- BOOLEAN002 = 1
- ElseIf (((INTEGER003 < 13) && (Len(STRING006) == 1)) && (InStr(Mask_Num() + "-", STRING006) > 0)) Then
- Print STRING006
- STRING004 = STRING004 + STRING006
- Inc INTEGER003
- Endif
- Else
- If (STRING006 == Chr(13)) Then
- If (INTEGER003 == 13) Then
- BOOLEAN002 = 1
- Else
- INTEGER004 = GetX()
- INTEGER005 = GetY()
- AnsiPos STRING007, STRING008
- Print ReadLine(PPEPath() + "prompts.cnf", 74)
- INTEGER001 = INTEGER007 - GetX()
- Print Space(INTEGER001)
- Backup INTEGER001
- Delay INTEGER006
- AnsiPos STRING007, STRING008
- Print STRING002
- Color 7
- Print Space(INTEGER007 - GetX())
- AnsiPos INTEGER004, INTEGER005
- Endif
- ElseIf (((INTEGER003 < 13) && (Len(STRING006) == 1)) && (InStr(Mask_Num(), STRING006) > 0)) Then
- If (INTEGER003 == 0) Then
- Print Left(STRING001, 1) + STRING006
- STRING004 = STRING004 + Left(STRING001, 1) + STRING006
- Inc INTEGER003
- Goto LABEL003
- Endif
- If (INTEGER003 == 3) Then
- Print STRING006 + Mid(STRING001, 2, 1)
- STRING004 = STRING004 + STRING006 + Mid(STRING001, 2, 1)
- Inc INTEGER003
- Goto LABEL003
- Endif
- If (INTEGER003 == 7) Then
- Print STRING006 + Right(STRING001, 1)
- STRING004 = STRING004 + STRING006 + Right(STRING001, 1)
- Inc INTEGER003
- Goto LABEL003
- Endif
- Print STRING006
- STRING004 = STRING004 + STRING006
- :LABEL003
- Inc INTEGER003
- Endif
- Endif
- Endif
- Goto LABEL002
- :LABEL004
- KbdStuff STRING004
- Return
- :LABEL005
- STRING001 = Left(ReadLine(PPEPath() + "prompts.cnf", 6), 1)
- Color 7
- :LABEL006
- If (BOOLEAN002) Goto LABEL008
- STRING006 = Inkey()
- If ((STRING006 == Chr(8)) && (INTEGER003 > 0)) Then
- If ((((INTEGER003 == 1) || (INTEGER003 == 4)) || (INTEGER003 == 7)) || (INTEGER003 == 8)) Then
- Print STRING005
- Dec INTEGER003
- Else
- Print STRING005 + STRING005
- INTEGER003 = INTEGER003 - 2
- Endif
- STRING004 = Left(STRING004, INTEGER003)
- ElseIf ((InStr(Mask_Num(), STRING006) > 0) && (INTEGER003 < 8)) Then
- If ((INTEGER003 == 1) || (INTEGER003 == 4)) Then
- Print STRING006 + STRING001
- STRING004 = STRING004 + STRING006 + STRING001
- INTEGER003 = INTEGER003 + 2
- Else
- Print STRING006
- STRING004 = STRING004 + STRING006
- Inc INTEGER003
- Endif
- ElseIf (STRING006 == Chr(13)) Then
- If (INTEGER003 == 8) Then
- BOOLEAN002 = 1
- Goto LABEL007
- Endif
- INTEGER004 = GetX()
- INTEGER005 = GetY()
- AnsiPos STRING007, STRING008
- Print ReadLine(PPEPath() + "prompts.cnf", 75)
- INTEGER001 = INTEGER007 - GetX()
- Print Space(INTEGER001)
- Backup INTEGER001
- Delay INTEGER006
- AnsiPos STRING007, STRING008
- Print STRING002
- Color 7
- Print Space(INTEGER007 - GetX())
- AnsiPos INTEGER004, INTEGER005
- Endif
- :LABEL007
- Goto LABEL006
- :LABEL008
- INTEGER004 = Right(Date(), 2)
- INTEGER005 = Right(STRING004, 2)
- INTEGER003 = INTEGER004 - INTEGER005
- INTEGER004 = Left(Date(), 2)
- INTEGER005 = Left(STRING004, 2)
- If (INTEGER004 < INTEGER005) Then
- Dec INTEGER003
- ElseIf (INTEGER004 == INTEGER005) Then
- INTEGER004 = Mid(Date(), 4, 2)
- INTEGER005 = Mid(STRING004, 4, 2)
- If (INTEGER004 < INTEGER005) Dec INTEGER003
- Endif
- OpText INTEGER003
- Print ReadLine(PPEPath() + "prompts.cnf", 78)
- STRING004 = ScrText(STRING009, STRING010, GetX() - STRING009, 0)
- KbdStuff STRING004
- Return
- :LABEL009
- STRING002 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001)
- STRING003 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001 + 1)
- STRING009 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001 + 2)
- Tokenize STRING009
- STRING009 = GetToken()
- STRING010 = GetToken()
- Return
- :LABEL010
- STRING002 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001)
- STRING003 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001 + 1)
- Return
- :LABEL011
- STRING002 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001)
- Return
- :LABEL012
- Select Case (INTEGER002)
- Case 0
- DispStr STRING003
- AnsiPos STRING007, STRING008
- Print STRING002
- Print Space(INTEGER007 - GetX())
- AnsiPos STRING009, STRING010
- Case 2
- InputStr "_", STRING004, 7, INTEGER001, Mask_Pwd(), 0
- If (STRING004 == "") STRING004 = Chr(13)
- KbdStuff STRING004
- End Select
- Return
- :LABEL013
- If (INTEGER002 == 0) Then
- DispStr STRING003
- Else
- AnsiPos STRING007, STRING008
- Print STRING002
- Print Space(INTEGER007 - GetX())
- AnsiPos STRING009, STRING010
- If ((INTEGER002 == 2) && (INTEGER001 == -1)) Gosub LABEL001
- If ((INTEGER002 == 2) && (INTEGER001 == -2)) Gosub LABEL005
- Endif
- Return
- :LABEL014
- If (INTEGER002 == 0) Then
- Print StripAtx(STRING002)
- Else
- AnsiPos STRING007, STRING008
- Print STRING002
- INTEGER001 = INTEGER007 - GetX()
- Print Space(INTEGER001)
- Backup INTEGER001
- Delay INTEGER006
- Endif
- Return
- :LABEL015
- If (INTEGER002 == 0) Then
- DispStr STRING003
- Else
- AnsiPos STRING007, STRING008
- Print STRING002
- INTEGER001 = 75 - GetX()
- Print Space(INTEGER001)
- Backup INTEGER001
- Delay INTEGER006
- Endif
- Return
- :LABEL016
- Select Case (INTEGER002)
- Case 0
- DispStr STRING003
- AnsiPos STRING007, STRING008
- Print STRING002
- Print Space(INTEGER007 - GetX())
- AnsiPos STRING009, STRING010
- Print Space(16)
- Backup 16
- Case 2
- Color 7
- :LABEL017
- If (BOOLEAN001) Goto LABEL019
- STRING006 = Inkey()
- If ((InStr(Mask_Pwd(), STRING006) > 0) && (Len(STRING004) < 12)) Then
- MPrint "."
- SPrint STRING006
- STRING004 = STRING004 + STRING006
- Goto LABEL018
- Endif
- If ((STRING006 == Chr(8)) && (Len(STRING004) > 0)) Then
- MPrint STRING005
- SPrint STRING005
- STRING004 = Left(STRING004, Len(STRING004) - 1)
- Goto LABEL018
- Endif
- If (STRING006 == Chr(13)) Then
- BOOLEAN001 = 1
- Endif
- :LABEL018
- Goto LABEL017
- :LABEL019
- If (STRING004 == "") STRING004 = Chr(13)
- KbdStuff Upper(STRING004)
- End Select
- Return
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 2 End
- ; 4 Cls
- ; 2 Wait
- ; 6 Color
- ; 196 Goto
- ; 137 Let
- ; 52 Print
- ; 2 PrintLn
- ; 116 If
- ; 4 DispFile
- ; 2 StartDisp
- ; 1 GetUser
- ; 11 Log
- ; 2 InputStr
- ; 96 Gosub
- ; 10 Return
- ; 4 Delay
- ; 7 Inc
- ; 5 Dec
- ; 3 Newlines
- ; 2 Tokenize
- ; 8 KbdStuff
- ; 1 OpText
- ; 8 DispStr
- ; 28 AnsiPos
- ; 6 Backup
- ; 2 SPrint
- ; 2 MPrint
- ;
- ;
- ; ■ Functions used :
- ;
- ; 8 -
- ; 56 +
- ; 20 -
- ; 111 ==
- ; 5 <>
- ; 7 <
- ; 1 <=
- ; 7 >
- ; 2 >=
- ; 108 !
- ; 14 &&
- ; 9 ||
- ; 5 Len(
- ; 1 Upper()
- ; 4 Mid()
- ; 14 Left()
- ; 4 Right()
- ; 15 Space()
- ; 14 Chr()
- ; 4 InStr()
- ; 1 RTrim()
- ; 3 Date()
- ; 2 NoChar()
- ; 1 YesChar()
- ; 15 StripAtx()
- ; 3 Inkey()
- ; 2 Mask_Pwd()
- ; 3 Mask_Num()
- ; 23 PPEPath()
- ; 19 ReadLine()
- ; 5 GetToken()
- ; 1 AnsiOn()
- ; 15 GetX()
- ; 4 GetY()
- ; 1 TokCount()
- ; 8 ScrText()
- ; 2 Mixed()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : M
- ;
- ; M - Send text to modem only ■ 4
- ; Some informations are sent only to the modem, not to the local
- ; screen, this is a well known way to make stealth backdoors, Check!
- ; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 1 For/Next
- ; 0 While/EndWhile
- ; 41 If/Then or If/Then/Else
- ; 5 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-